// P2882 write by cn_ryh